package com.liusy.taskengine.executemodel;

import java.util.List;
import java.util.Map;

import com.liusy.taskengine.taskexecute.ITaskExecute;
import com.liusy.taskengine.taskmodel.ITaskModel;


/**
 * 执行任务的模型
 * 
 * @author liusy 2012-12-11
 */
public abstract interface IExecuteModel {
	
	/**
	 * 具体执行的动作
	 * @param task 任务
	 * @param taskExecute 执行器
	 */
	void  RunExecute(ITaskModel taskModel,ITaskExecute taskExecute);
	
	/**
	 * 具体执行的动作
	 * @param task 任务
	 * @param taskExecute 执行器
	 */
	List<Map<String,Object>> RunTask(ITaskModel taskModel);
	
	/**
	 * 运行前
	 * 
	 */
	void RunBefore(ITaskModel taskModel);
	
	/**
	 * 运行后
	 * 
	 */
	void RunAfter(ITaskModel taskModel,List<Map<String,Object>> list);

	
}
